/*
 * 作者		www.TheWk.cn.vc
 * 开发环境	Windows7 64位 MyEclipse8.6 JDK1.6.0_37
 * 开发日期	2013-9-14
 */
package common.utils;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;

/**
 * <hr/>
 * 
 * @author www.TheWk.cn.vc
 * @version 1.0 2013-9-14
 */
public class PasswordUtils {

	/**
	 * 加密密码<br/>
	 * 先Md5Hex加密,再ShaHex加密
	 */
	public static String encryptPassword(String pwd) {
		if (StringUtils.isBlank(pwd)) {
			return null;
		}
		return DigestUtils.sha1Hex(DigestUtils.md5Hex(pwd));
	}

	/**
	 * 加密密码<br/>
	 * 先Md5Hex加密,再ShaHex加密,带盐值的
	 */
	public static String encryptPassword(String pwd, String salt) {
		if (StringUtils.isBlank(pwd)) {
			return null;
		}
		return encryptPassword(pwd + "{" + salt + "}");
	}
	/**
	 * 	手机客户端取得加密后的密码。
	 * @param md5Pwd
	 * @return String
	 */
	public static String getEncryptPassword(String md5Pwd) {
		if (StringUtils.isBlank(md5Pwd)) {
			return null;
		}
		return DigestUtils.sha1Hex(md5Pwd);
	}
	/**
	 * 基本类型数据加密比较
	 * @param md5Str
	 * @param params
	 * @return boolean
	 */
	public static boolean validateMd5String(String md5Str,Object... params) {
		String md5 = "";
		for(Object o : params){
			if(o!=null){
				md5 += String.valueOf(o);
			}
		}
		System.out.println(md5Str);
		System.out.println(DigestUtils.md5Hex(md5));
		if(md5Str.equals(DigestUtils.md5Hex(md5)))
			return true;
		return false;
	}
}
